<?php
/**
 * 把【客户端】传输过来的，【字符串类型】的【客户端参数】转化（格式化）为【指定、目标类型数据】（如：【字符串、整型、浮点型】）
 *
 * 1)【客户端】传输过来的【客户端参数】，只能是【字符串】或【数组】
 *     1)不针对、不适用【数组类型】的【客户端参数】
 *     2)目标类型只能是【字符串、整型、浮点型】
 */
function init_user_data_key($user_data, $key, $target_type = 'str', $default = null)
{
    if(isset($user_data[$key])){
        $user_var = $user_data[$key];
        $var      = init_user_var($user_var, $target_type, $default);
    }else{
        $var = $default;
    }
     
    return $var;
}


/**
 * 把【客户端】传输过来的，【字符串类型】的【客户端参数】转化（格式化）为【指定、目标类型数据】（如：【字符串、整型、浮点型】）
 *
 * 1)【客户端】传输过来的【客户端参数】，只能是【字符串】或【数组】
 *     1)不针对、不适用【数组类型】的【客户端参数】
 *     2)目标类型只能是【字符串、整型、浮点型】
 */
function init_user_var($user_var, $target_type = 'str', $default = null)
{
    if(is_string($user_var)){
        $var = trim($user_var);
        if($var !== ''){    //判断用户【是否】有【输入信息】
            if($target_type === 'int'){
                $var = intval($var);
            }
            if($target_type === 'float'){
                $var = floatval($var);
            }
        }else{
            $var = $default;
        }
    }else{
        $var = $default;
    }
     
    return $var;
}

function get_client_ip($check_proxy = true)
{
    if ($check_proxy && !empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } else if ($check_proxy && !empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }

    return $ip;
}